{
    //函数默认值
    function test(x, y = 'huangliusong') {
        console.log('x,y=', x, y)
    }
    test('黄柳淞')
    test('1', 2)
}

{
    let x = 'test'
    function test2(c, y = x) {
        console.log('作用域', x, y)

    }
    test2('kill')
}

{
    //arg转成了数组 之后不能有其他的参数
    function test3(...arg) {
        for (let v of arg) {
            console.log('rest:', v)
        }
    }

    test3(1, 2, 3, 4, 'huangliusong')
}

{
    //扩展运算符,吧最后的数组拆成了离散的值
    console.log(...[1, 2, 3, 4]);
    console.log('a', ...[12, 34]);
}

{
    //箭头函数
    let arrow = x => x * 2
    console.log('arrow', arrow(3))
}

{
    //尾调用-提升性能
    function tail(x) {
        console.log('tail', x)

    }
    function fx(x) {
        return tail(x)
    }
    fx(123)
}